package org.dubnation.car.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.dubnation.base.domain.BaseDomain;


import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dubnation.org.domain.Employee;
import org.dubnation.org.domain.Shop;

import java.math.BigDecimal;

import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhu
 * @since 2023-11-02
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class Car extends BaseDomain{

    private static final long serialVersionUID = 1L;
    public static final Long OFF_SHELF = 0L; //下架
    public static final Long ON_SHELF = 0L; //上架

    private Long id;
    private String title;
    /**
     * 封面 fastdfs地址
     */
    private String cover;
    /**
     * 原价
     */
    private BigDecimal salePrice;
    /**
     * 售价
     */
    private BigDecimal costPrice;
    private Integer isNew;
    /**
     * 上牌时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date registerTime;
    /**
     * 里程
     */
    private Double mileage;
    /**
     * 店铺Id 如果被领养店铺id为null
     */
    private Long shopId;
    private String shopName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date onSaleTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date offSaleTime;
    /**
     * 状态：0下架 1上架
     */
    private Long state;
    /**
     * 是否超值
     */
    private Integer costEffective;
    /**
     * 急售
     */
    private Integer rushSale;
    /**
     * 准新车
     */
    private Integer quasiNewCar;
    private Integer transitiveCountry;
    /**
     * 类型id--对应品牌的车型
     */
    private Long typeId;
    private Long sellerId;
    /**
     * 如果被领养为领养用户id
     */
    private Long userId;
    /**
     * 如果是由别人发布的卖车消息那收购来的，那么就记录卖车信息id
     */
    private Long searchMasterMsgId;
    /**
     * 审核状态
     */
    private Integer auditState;
    /**
     * 品牌
     */
    private String brand;
    /**
     * 注册城市
     */
    private String registerCity;
    /**
     * 车辆细节
     */
    private CarDetail carDetail;
    private Shop shop;
    private CarType carType;
}
